package cyou.breathe.blog.api.folder.service;

import cyou.breathe.blog.api.folder.model.FolderVO;
import cyou.breathe.blog.api.folder.request.*;
import cyou.breathe.blog.api.folder.response.*;

import java.util.List;

/**
 * @author: breathe
 * @createTime: 2025-09-05
 */
public interface FolderFacadeService {
    FolderCreateDirectoryResponse createDirectory(FolderCreateDirectoryRequest request);

    FolderUpdateResponse updateFolder(FolderUpdateRequest folderUpdateRequest);

    FolderCreateRootResponse createRootFolder(FolderCreateRootRequest folderCreateRootRequest);

    FolderDeleteResponse deleteFolder(FolderDeleteRequest request);

    FolderQueryResponse<FolderVO> getFolderById(FolderQueryRequest request);

    FolderQueryResponse<List<FolderVO>> getFolderByParentId(Long folderId, Long userId);

}